EM20-DK 快速开始
一、环境准备
1.1 硬件准备
要开始使用 EM20-DK,需要准备以下物品:
- 开发板:EM20-DK 开发板
- PC 机:用于连接串口调试
- 电源适配器:推荐使用 12V/5A,5.5 × 2.5 mm 母头,中心为正极的电源适配器
- USB 线:用于连接开发板和电脑,主机端为 Type-A 口,开发板端为 Type-C 口
- 以太网线缆:用于连接开发板和网络,推荐使用五类或六类网线,接入开发板的 RJ45 网口(eth1)
- Micro SD 卡:用于刷机或调试,由于系统固件较大,更大的存储、更高的读写性能会带来更好的使用体验,推荐使用 64 GB/class10 或更高规格的 Micro SD 卡
- Micro SD 卡读卡器:用于读写 Micro SD 卡中的文件
硬件连接示意图:
1.2 镜像获取与烧录
1.2.1 镜像下载
获取 EM20-DK 系统镜像:
- 下载链接:TACO SDK 镜像
- 镜像文件:选择
.img.xz格式的压缩镜像文件,并进行解压
1.2.2 镜像烧录
详细操作请参考:「EM20-DK 使用技术手册」文档的「启动方式」章节
系统首次启动完成后,登录系统,更新软件源并安装 TACO SDK 基础环境:
sudo apt update
sudo apt install tps-firmware taco-sdk
二、上电开机
2.1 认识 EM20-DK
📝 说明:
- 此处仅标注了启动相关的几个接口,方便用户初步认识使用平台,详细内容请参考文档「EM20-DK 开发板介绍」。
2.2 上电开机步骤
依次插入准备好的 USB 转串口线、以太网线、SD 卡,最后插入 12V 电源。上电成功后,电源指示灯和系统指示灯都会亮起,如下图红框所示。
⚠️ 注意:
- 由于 EM20-DK 在断电状态下插电源会自动开机,建议用户最后连接 12V 电源。
三、初始配置
3.1 登录系统
系统启动后,可以通过串口和 SSH 这两种方式登录系统。初始登录账户信息如下:
| 账户类型 | 用户名 | 密码 |
|---|---|---|
| 普通用户 | tps | 123456 |
| 管理员账户 | root | root |
有关系统登录的更多信息,请参考 「EM20-DK 使用技术手册」文档的「登录系统」章节 的相关内容。
3.2 查看IP地址
EM20-DK 开发板默认采用是 DHCP (Dynamic Host Configuration Protocol) 自动获取 IP 的方式,EM20-DK 的网络接口为 eth1 和 eth2。如需获取 EM20-DK 开发板的当前 IP 地址信息,请使用 ifconfig 命令进行查询:
root@em20-dk:~# ifconfig
...
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::1a0a:6ef3:7ea0:9701 prefixlen 64 scopeid 0x20<link>
ether 78:78:35:b0:02:0d txqueuelen 1000 (Ethernet)
RX packets 913 bytes 102950 (102.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 287 bytes 20567 (20.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 31
...
根据上述命令输出结果,eth1 网络接口的当前 IP 地址为 192.168.1.100。 有关网络配置的更多信息,请参考 「EM20-DK 使用技术手册」文档的「网络配置」章节 的相关内容。
四、运行示例程序
更新并安装 tasamples 下载测试资源:
sudo apt update && apt install tasamples libenc24 libdec24
测试资源位于 /usr/data 目录下:
root@em20-dk:~# ls /usr/data/
automation dvfs gpiozero npu suspend vdec
ddr ffmpeg ids otp taco-pipeline-1.0.0 venc
deb fio libcv qa tps_pipeline
distro gmac multicore sound usb
4.1 编码
视频编码测试命令是 taco_venc_simple_example,主要用于将 YUV 数据编码成 H.264 数据。
测试资源为 /usr/data/venc/1920x1080_420p_10f.yuv(10 帧,1080P,YUV420p 格式数据)。使用说明如下:
taco_venc_simple_example -i <input_file> <threads> <cycles> <loops> <frames> <save> <pixformat> <pp>
示例命令:
root@em20-dk:~# taco_venc_simple_example -t 4 -c 1 -l 1 -f 10 -s 1
TACO Video Encoder Configuration:
Input file: /usr/data/venc/1920x1080_420p_10f.yuv
Threads: 4
Encoder cycles: 1
Loops per encoder: 1
Frames per loop: 10
Save file: yes
Pixel format: 0
Pre-processing mode: disabled
Total frames per thread: 10
TACO VENC Multi-threaded Test Configuration:
Threads: 4
Encoder cycles: 1
Loops per encoder: 1
Frames per loop: 10
Save file: yes
Pixel format: 0
PP encode: no
Total frames per thread: 10
Thread 3 - Cycle 1 - Loop 1: FPS: 40.95, Frames: 10, Streams: 10
Thread 1 - Cycle 1 - Loop 1: FPS: 53.63, Frames: 10, Streams: 10
Thread 3: Completed
Thread 1: Completed
Thread 2 - Cycle 1 - Loop 1: FPS: 46.16, Frames: 10, Streams: 10
Thread 0 - Cycle 1 - Loop 1: FPS: 35.68, Frames: 10, Streams: 10
Thread 2: Completed
Thread 0: Completed
All threads completed
输出文件名为 output_thread_0.h264、output_thread_1.h264、output_thread_2.h264、output_thread_3.h264。
4.2 解码
视频解码测试命令是 ppvdec,主要用于将 H.264、H.265 或 JPEG 数据解码成 YUV 或 RGB 数据。测试资源位于 /usr/data/vdec 目录下。使用说明如下:
ppvdec decode_mode <线程数> <循环次数> <解码周期> <帧数> <保存文件> [解码类型] [分辨率] [PP模式]
示例命令:
root@em20-dk:~# ppvdec decode_mode 1 1 1 10 1 0 0 0
Signal handlers installed (SIGINT, SIGTERM)
=== [ppvdec running from test_taco_vdec.c] ===
=== Legacy Mode Configuration ===
Codec: H.264
Resolution: 1080p
PP Channel: Channel0 only
Save YUV: Enabled
Stream Files Used:
H.264 1080p: /usr/data/vdec/stream_1920x1080.h264
H.264 4K: /usr/data/vdec/stream_3840x2160.h264
H.265 1080p: /usr/data/vdec/stream_1920x1080.h265
H.265 4K: /usr/data/vdec/stream_3840x2160.h265
Starting single decode thread (no pthread)...
Thread 1 - PP Channel Configuration: mode=0, ch0=enabled, ch1=disabled
Thread 1 - Parsing stream file: /usr/data/vdec/stream_1920x1080.h265
Parsing H.265 /HEVC format
Parsed 1000 frames from video file
Thread 1 Loop 1: FPS: 2.63
Thread 1: 1 frames, FPS: 2.61
PASS
五、关机下电
开发板正常工作时,命令行输入 shutdown 命令,开发板会执行关机下电流程。
root@em20-dk:~# shutdown -h now
Shutdown scheduled for Sat 2024-04-20 03:35:48 CST, use 'shutdown -c' to cancel.
root@em20-dk:~#
root@em20-dk:~#
root@em20-dk:~#
Stopping session-1.scope - Session 1 of User root...
[ OK ] Removed slice system-modprobe.slice - Slice /system/modprobe.
......
[ OK ] Finished systemd-poweroff.service - System Power Off.
[ OK ] Reached target poweroff.target - System Power Off.
[ 2811.790456] vipcore, destroy device start...
[ 2811.794956] resource: Trying to free nonexistent resource <0x00000001c0000000-0x000000043fffffff>
[ 2811.804764] vipcore, destroy device end...
[ 2811.810587] ES8388 2-0011: es8388 not initialized, skipping shutdown
[ 2811.818183] reboot: Power down
六、学习向导
如果您是第一次接触 Taco SDK 开发者套件,可以跟随以下的学习旅程,逐渐上手开发者套件,希望通过开发者套件更快地实现您的 AI 创意。

图片加载中...